#include "mainscene.h"
//#include "ui_mainwindow.h"
#include "ui_mainscene.h"

My_Game::My_Game(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //设置固定大小
    this->setFixedSize(320,588);
    //设置应用图片
    this->setWindowIcon(QPixmap(":/res/Coin0001.png"));
    //设置窗口标题
    this->setWindowTitle("翻金币主界面");

    //点击退出菜单项，退出程序
    connect(ui->actionQuit,&QAction::triggered,[=](){this->close();});

    // 准备开始按钮的音效
    QSound *startSound = new QSound(":/res/TapButtonSound.wav",this);


    // 创建开始按钮
    MyPushButton * startBtn = new MyPushButton(":/res/MenuSceneStartButton.png");
    startBtn->setParent(this); // 绑定对象树
    // 将按钮移动到合适位置
    startBtn->move(this->width()*0.5-startBtn->width()*0.5,this->height()*0.7);

    //监听点击事件，执行特效
    connect(startBtn,&MyPushButton::clicked,[=](){
        qDebug() << "点击了开始";
        //播放开始的音效资源
        startSound->play();

        startBtn->zoom1(); //向下跳跃
        startBtn->zoom2(); //向上跳跃

        //延时0.5秒后 进入选择场景
        QTimer::singleShot(500, this,[=](){

            // 设置chooseSecen场景的位置
            chooseScene->setGeometry(this->geometry());


            // 隐藏自己
            this->hide();



            // 显示选择关卡的场景
            chooseScene->show();
        });
     });

    //监听选择场景的返回按钮
    connect(chooseScene,&ChooseLevelScene::chooseSceneBack,[=](){
        this->setGeometry( chooseScene->geometry());

        chooseScene->hide();
        this->show();
        });



}

My_Game::~My_Game()
{
    delete ui;
}

void My_Game::paintEvent(QPaintEvent *event)
{
    // 不使用这个变量
    Q_UNUSED(event);

    //创建画家，指定绘图设备
    QPainter painter(this);
    //创建QPixmap对象
    QPixmap pix;
    //加载图片  背景图
    pix.load(":/res/PlayLevelSceneBg.png");
    //绘制背景图
    painter.drawPixmap(0,0,this->width(),this->height(),pix);

    //加载标题  主题图
    pix.load(":/res/Title.png");
    //缩放图片
    pix = pix.scaled(pix.width()*0.5,pix.height()*0.5);
    //绘制标题
    painter.drawPixmap( 10,30,pix.width(),pix.height(),pix);

}

